package sort;

import java.util.Arrays;

/*
* 406. 根据身高重建队列
*       h升序k降序, 相同的h则k为升序
*       排序后的k值即为最终的索引值(只考虑空位置)
* */
public class ReconstructQueue406 {
    public int[][] reconstructQueue(int[][] people){
        Arrays.sort(people,(a,b)->{
            if(a[0]!=b[0]){
                return a[0]-b[0];
            }else{
                return b[1]-a[1];
            }
        });
        int n=people.length;
        // 不能写2
        int[][] res=new int[n][];
        for (int[] person : people) {
            int count=0;
            for(int i=0;i<n;i++){
                if(res[i]==null){
                    count++;
                    if(count==person[1]+1){
                        res[i]=person;
                        break;
                    }
                }
            }
        }
        return res;
    }
}
